home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / packer / tar / doc / porting < prev    next >
Text File  |  1995-03-09  |  3KB  |  58 lines

  1.         Porting hints for public domain tar
  2.           John Gilmore, ihnp4!hoptoad!gnu
  3.              @(#)PORTING 1.13    87/11/11
  4.  
  5. The Makefile should be edited to comment out all the undesired
  6. versions, and create the following configuration lines for the system
  7. you are compiling it on:
  8.  
  9. DEFS = the proper #define's to conditionally compile for your system.
  10. LIBS = the system libraries and/or object modules to link with the program.
  11. LINT = the lint program (or the compiler with extra checking turned on)
  12. LINTFLAGS = a good strong way to invoke 'lint' on your system.
  13. DEF_AR_FILE = the name of the default archive file on your system.
  14.     It should be enclosed in quoted quotes, e.g. \"/dev/foo\" .
  15. DEFBLOCKING = the default blocking factor on your system.
  16. O = the suffix for object files ('o', except 'obj' for MSDOS).
  17.  
  18. A copy of "getopt", the standard argument parser, is required.  It's in
  19. libc on Missed'em V systems and 4.3BSD; on most other systems, you'll
  20. need a copy of a public domain getopt, available through the
  21. comp.sources.unix archives, or from the AT&T Toolchest if you can't
  22. find it elsewhere.
  23.  
  24. A copy of the Berkeley directory access routines is also required.
  25. These are in libc and <sys/dir.h> on Berkeley systems.  A public domain
  26. version is available through comp.sources.unix.  There is an #include
  27. you have to change in create.c for this, to set the name of the include
  28. file you have.  Some systems have the include file in <sys/ndir.h>.
  29. You'll have to find it on your system, or get the public domain one and
  30. place it somewhere.  For MSDOS, I have supplied these directory
  31. routines in msd_dir.c and msd_dir.h, since it's likely that your system
  32. doesn't have them.  To permanently install these into your MSC 3.0
  33. library, do the following:
  34.     copy msd_dir.h c:\c\include\sys\dir.h
  35.     cl -A$(MODEL) -c msd_dir.c
  36.     lib $(MODEL)dir.lib msd_dir.obj;
  37. Change c:\c\include to wherever your standard include directory is.
  38. You might have to modify this procedure if you aren't using MSC 3.0. 
  39.  
  40. Grep for FIXME to find places that aren't finished or which have
  41. portability problems.  Also see the file TODO.
  42.  
  43. The MSDOS port was done under the Microsoft C 3.0 compiler and
  44. libraries.  In the Makefile, COPTS should be changed to -Zi or nothing;
  45. and there is a special link command for making tar.exe, which you will
  46. have to uncomment, since MSDOS can't handle command lines longer than
  47. 128 bytes.  Also, clean and install will not work unless you change
  48. / in path names to \.
  49.  
  50. On Minix, there are a bunch of problems.  "V7 compatible" my ass.
  51.  * "make" doesn't expand macros in the Makefile properly.  You will
  52. probably have to expand them by hand.  Better to go in and fix Minix
  53. "make" though...
  54.  * The directory access library is nonexistent.  It wasn't in V7 but
  55. anybody who writes code without it, even on V7 systems, is a fool.
  56.  * Various other library routines are broken, e.g. printf() doesn't take
  57. "%*s" or "%.*s"; no <sys/types.h> which Unix requires, ctime(), getopt().
  58.